#include "stdafx.h"
#include <algorithm>
#include <boost/lambda/lambda.hpp>
#include <boost/lambda/bind.hpp>
#include "detail/bmock_arg_list.hpp"

namespace bmock {
	void arg_list::print(std::ostream &os) const {
		std::for_each(first,second,boost::lambda::var(os) << boost::lambda::_1);
	}

	size_t arg_list::size() const {
		return second - first;
	}

	bool arg_list::is_empty() const {
		return 0==size();
	}
}

namespace std {
	std::ostream & operator <<(std::ostream &os,const bmock::arg_list &args) {
		args.print(os);
		return os;
	}
}
